import { components } from 'api-types' import { NextApiRequest, NextApiResponse } from 'next' import apiWrapper from '@/lib/api/apiWrapper' import { getProjectSettings } from '@/lib/api/self-hosted/settings' type ProjectAppConfig = components['schemas']['ProjectSettingsResponse']['app_config'] & { protocol?: string } export type ProjectSettings = components['schemas']['ProjectSettingsResponse'] & { app_config?: ProjectAppConfig } export default (req: NextApiRequest, res: NextApiResponse) => apiWrapper(req, res, handler) async function handler(req: NextApiRequest, res: NextApiResponse) { const { method } = req switch (method) { case 'GET': return handleGetAll(req, res) default: res.setHeader('Allow', ['GET']) res.status(405).json({ data: null, error: { message: `Method ${method} Not Allowed` } }) } } const handleGetAll = async (_req: NextApiRequest, res: NextApiResponse) => { const response = getProjectSettings() return res.status(200).json(response) }